package com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.mapper;

import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.FlowFormFieldLimit;
import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.FlowFormFieldLimitExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface FlowFormFieldLimitDAO {
    /**
     * 统计数量
     * @param example
     * @return
     */
    int countByExample(FlowFormFieldLimitExample example);

    /**
     * 删除数据
     * @param example
     * @return
     */
    int deleteByExample(FlowFormFieldLimitExample example);

    /**
     * 根据主键删除数据
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);


    /**
     * 插入数据
     * @param record
     * @return
     */
    int insert(FlowFormFieldLimit record);

    /**
     * 批量插入
     * @param flowFormFieldLimitList
     * @return
     */
    int batchInsert(@Param("flowFormFieldLimitList") List<FlowFormFieldLimit> flowFormFieldLimitList);


    /**
     * 插入数据
     * @param record
     * @return
     */
    int insertSelective(FlowFormFieldLimit record);


    /**
     * 查询数据
     * @param example
     * @return
     */
    List<FlowFormFieldLimit> selectByExample(FlowFormFieldLimitExample example);


    /**
     * 根据主键查询单条数据
     * @param id
     * @return
     */
    FlowFormFieldLimit selectByPrimaryKey(Integer id);


    /**
     * 更新数据
     * @param record
     * @param example
     * @return
     */
    int updateByExampleSelective(@Param("record") FlowFormFieldLimit record, @Param("example") FlowFormFieldLimitExample example);


    /**
     * 更新数据
     * @param record
     * @param example
     * @return
     */
    int updateByExample(@Param("record") FlowFormFieldLimit record, @Param("example") FlowFormFieldLimitExample example);


    /**
     * 更新数据
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(FlowFormFieldLimit record);


    /**
     * 根据主键更新数据
     * @param record
     * @return
     */
    int updateByPrimaryKey(FlowFormFieldLimit record);
}